#include "BPEPoint3d.h"

BPEPoint3d::BPEPoint3d(){
	x=0;
	y=0;
	z=0;
};

BPEPoint3d::BPEPoint3d(const double &x, const double &y, const double &z){
	this->x = x;
	this->y = y;
	this->z = z;
}

double BPEPoint3d::getX(){return x;};
double BPEPoint3d::getY(){return y;};
double BPEPoint3d::getZ(){return z;};


void BPEPoint3d::setX(const double &x){this->x = x;
int i = 0;
};
void BPEPoint3d::setY(const double &y){this->y = y;
int i = 0;};
void BPEPoint3d::setZ(const double &z){this->z = z;};


BPEPoint3d BPEPoint3d::operator+(const BPEPoint3d &point){
	BPEPoint3d temp = point;

	temp.setX(this->x + point.x);
	temp.setY(this->y + point.y);
	temp.setZ(this->z + point.z);
	return temp;
};

BPEPoint3d BPEPoint3d::operator-(const BPEPoint3d &point){
	BPEPoint3d temp = point;

	temp.setX(this->x - point.x);
	temp.setY(this->y - point.y);
	temp.setZ(this->z - point.z);
	return temp;
};

bool BPEPoint3d::operator==(const BPEPoint3d &point){

	if( this->x == point.x && this->y == point.y && this->z == point.z)
		return true;

	return false;
	
};
BPEPoint3d BPEPoint3d::operator*(double scalar){
	BPEPoint3d tempP =BPEPoint3d();

	tempP.setX(this->x * scalar);
	tempP.setY(this->y * scalar);
	tempP.setZ(this->z * scalar);

	return tempP;
	
	
};
BPEPoint3d BPEPoint3d::operator/(double scalar){
	
	BPEPoint3d tempP =BPEPoint3d();

	tempP.setX(this->x / scalar);
	tempP.setY(this->y / scalar);
	tempP.setZ(this->z / scalar);

	return tempP;
};